package com.zmn.mcc.business.interfaces.dpermit.measure;

import com.zmn.cube.common.dro.measure.MeasureDRO;
import com.zmn.mcc.model.dto.dpermit.DpermitSimpleDO;

import java.util.List;

public interface DpermitCubeMeasureBService {
    /**
     * 取得全部一级、二级、三级指标列表，一级和二级并列，三级为二级的子集
     * 并选中已有的数据权限
     *
     * @param status
     * @param assignedMeasureIds 已有的大数据指标ID集合
     * @param measures           原始大数据指标对象集合
     * @return
     */
    List<DpermitSimpleDO> listMeasureAndDpermitChecked(int status, List<Integer> assignedMeasureIds, List<MeasureDRO> measures);

    /**
     * 取得全部一级、二级、三级指标的层级列表
     * 已检查并处理简单数据对象选中状态，包括下级全选
     *
     * @param status
     * @param dpermitIds 已有数据权限的指标ID集合
     * @param measures   原始大数据报表指标对象集合
     * @return
     */
    List<DpermitSimpleDO> listMeasureTreeAndDpermitChecked(int status, List<Integer> dpermitIds, List<MeasureDRO> measures);
}
